#pragma GCC optimize(2)
#include <iostream>
#include <algorithm>
#include <cstring>
#include <string>
#include <map>
#include <vector>
 
using namespace std;
using LL = long long;
const int N = 2e5 + 10;
 
int n;
char str[N];

/*
    题目中给出的是一个有效的括号序列
        1首先是一个整体，可以看作只有一个连通分量，所以初始的时候res=1
        2当遇到连续的连个括号时候((ABC)) 此时最外层和次外层一定不连通，所以当碰到连续的两个括号的时候，res++
        3即是数题目中有几对连续的括号，有一对则res++
*/
int main(){
    freopen("in.txt", "r", stdin);
    freopen("out.txt", "w", stdout);
    int T;
    scanf("%d", &T);
    while(T--){
        scanf("%d", &n);
        scanf("%s", str);
        int res = 1;
        for(int i = 1; i <= 2 * n; i ++){
            if(str[i - 1] == '(') continue;
            int j = i;
            while(j + 1 <= 2 * n && str[j] == ')') j ++;
            res += j - i;
            i = j;
        }
 
        printf("%d\n", res);
  
 
    }
 
    return 0;
}